Coinductive Proof Techniques for Language Equivalence
نویسندگان
چکیده
Language equivalence can be checked coinductively by establishing a bisimulation on suitable deterministic automata. We improve and extend this technique with bisimulation-up-to, which is an enhancement of the bisimulation proof method. First, we focus on the regular operations of union, concatenation and Kleene star, and illustrate our method with new proofs of classical results such as Arden’s rule. Then we extend our enhanced proof method to incorporate language complement and intersection. Finally we define a general format of behavioural differential equations, in which one can define operations on languages for which bisimulation-up-to is a sound proof technique.
منابع مشابه
A Theory of Operational Equivalence for Interaction Nets
The notion of contextual equivalence is fundamental in the theory of programming languages. By setting up a notion of bisimilarity, and showing that it coincides with contextual equivalence, one obtains a simple coinductive proof technique for showing that two programs are equivalent in all contexts. In this paper we apply these (now standard) techniques to interactions nets, a graphical progra...
متن کاملUsing Proofs by Coinduction to Find "Traditional" Proofs
In the specific situation of formal reasoning concerned with “regular expression equivalence” we address instances of more general questions such as: how can coinductive argumentation be formalised logically and be applied effectively, as well as how is it linked to traditional forms of proof. For statements expressing that two regular expressions are language equivalent, we demonstrate that pr...
متن کاملCyclic Proofs and Coinductive Principles
It is possible to provide a proof for a coinductive type using a corecursive function coupled with a guardedness condition. The guardedness condition, however, is quite restrictive and many programs which are in fact productive and do not compromise soundness will be rejected. We present a system of cyclic proof for an extension of System F extended with sums, products and (co)inductive types. ...
متن کاملInductive and Coinductive Techniques in the Operational Analysis of Functional Programs: an Introduction
Many works have shown that operational semantics is a useful framework for the formal study of programs properties. Our investigation takes as object of study a call-by-name variant of FPC, a functional language with higher order functions and recursive types. We show that by using Plotkin’s structural operational semantics it is possible to specify formal semantics for FPC for both convergent ...
متن کاملThe Transitive Composability of Relation Transition Systems
Relation Transition Systems (RTSs) have recently been proposed as a foundation for reasoning effectively about program equivalence in higher-order imperative languages like ML. RTSs fruitfully synthesize the coinductive style of bisimulation-based methods with the treatment of local state in recent work on step-indexed Kripke logical relations (SKLRs). Like SKLRs, RTSs are designed to have the ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2013